package it.csi.finregio.finreges.presentation.form;

import it.csi.finregio.finreges.dto.Direzione;
import it.csi.finregio.finreges.dto.Settore;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class EnteSchedaData implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 627980900384028373L;
	private String email1;
	private String email2;
	private String email3;
	private String site1;
	private String site2;
	private String site3;

	private String altreInfo;
	private String note;
	private String modalitaInserimento;

	private Collection listaDirezioni = new ArrayList();
	private Collection idsEnteScheda=new ArrayList();//l'array ha lo stesso ordine di listaDirezioni e listaSettori
	private Collection listaSettori = new ArrayList();
	private String idEnteScheda;

	public void addIdEnteScheda(String idEnteScheda){
		idsEnteScheda.add(idEnteScheda);
	}
	
	public void addDirezione(Direzione direzione) {
		listaDirezioni.add(direzione);
	}

	public void addSettore(Settore settore) {
		listaSettori.add(settore);
	}

	public String getEmail1() {
		return email1;
	}

	public void setEmail1(String email1) {
		this.email1 = email1;
	}

	public String getEmail2() {
		return email2;
	}

	public void setEmail2(String email2) {
		this.email2 = email2;
	}

	public String getEmail3() {
		return email3;
	}

	public void setEmail3(String email3) {
		this.email3 = email3;
	}

	public String getSite1() {
		return site1;
	}

	public void setSite1(String site1) {
		this.site1 = site1;
	}

	public String getSite2() {
		return site2;
	}

	public void setSite2(String site2) {
		this.site2 = site2;
	}

	public String getSite3() {
		return site3;
	}

	public void setSite3(String site3) {
		this.site3 = site3;
	}

	public String getAltreInfo() {
		return altreInfo;
	}

	public void setAltreInfo(String altreinfo) {
		this.altreInfo = altreinfo;
	}

	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	public Collection getListaDirezioni() {
		return listaDirezioni;
	}

	public String getModalitaInserimento() {
		return modalitaInserimento;
	}

	public void setModalitaInserimento(String modalitaInserimento) {
		this.modalitaInserimento = modalitaInserimento;
	}

	public Collection getListaSettori() {
		return listaSettori;
	}

	public String getIdEnteScheda() {
		return idEnteScheda;
	}

	public void setIdEnteScheda(String idEnteScheda) {
		this.idEnteScheda = idEnteScheda;
	}

	public String getDescrizioneEstesa() {
		StringBuffer sb = new StringBuffer(" - ");
		for (Iterator iterator = listaDirezioni.iterator(); iterator.hasNext();) {
			Direzione direzione = (Direzione) iterator.next();
			sb.append(direzione.getDescrizione()).append(" - ");

		}
		if (listaSettori.size() == 0) {
			if (sb.toString().lastIndexOf("-") != -1) {
				sb = new StringBuffer(sb.substring(0, sb.toString()
						.lastIndexOf(" - ")));
			}
		}
		for (Iterator iterator = listaSettori.iterator(); iterator.hasNext();) {
			Settore settore = (Settore) iterator.next();
			sb.append(settore.getDescrizione()).append(" - ");
		}
		if (sb.toString().lastIndexOf("-") != -1 && listaSettori.size()>0) {
			sb = new StringBuffer(sb.substring(0, sb.toString().lastIndexOf(
					"-"))).append("<bR>");
		}
		if (getEmail1() != null && !getEmail1().trim().equals("")) {
			sb.append(getEmail1()).append("<br>");
		}
		if (getEmail2() != null && !getEmail2().trim().equals("")) {
			sb.append(getEmail2()).append("<br>");
		}
		if (getEmail3() != null && !getEmail3().trim().equals("")) {
			sb.append(getEmail3()).append("<br>");
		}
		if (getSite1() != null && !getSite1().trim().equals("")) {
			sb.append(getSite1()).append("<br>");
		}
		if (getSite2() != null && !getSite2().trim().equals("")) {
			sb.append(getSite2()).append("<br>");
		}
		if (getSite3() != null && !getSite3().trim().equals("")) {
			sb.append(getSite3()).append("<br>");
		}
		if (getAltreInfo() != null && !getAltreInfo().trim().equals("")) {
			sb.append(getAltreInfo());
		}
		return sb.toString();
	}

	public Collection getIdsEnteScheda() {
		return idsEnteScheda;
	}

}
